const http = require("http");
const urlTool = require("url");
const fs = require("fs");

//创建服务对象
const server = http.createServer((req, res) => {
  //设置字符集的响应头                          「=」的左右两侧不能加空格
  // res.setHeader('content-type','text/html;charset=utf-8');
  //获取请求的方法和路径
  let { url, method } = req; // req.method  req.url  {method: 'xxx', url: 'xxx'}
  //转换
  method = method.toUpperCase();
  //获取路径
  let { pathname } = urlTool.parse(url);
  //将 url 中转码的内容还原
  pathname = decodeURIComponent(pathname);
  //根据 pathname 拼接文件的路径
  let filePath = "../测试/shangpinhui" + pathname;
  // console.log(filePath);

  //读取文件的内容
  fs.readFile(filePath, (err, data) => {
    if (err) {
      //文件不存在
      if (err.errno === -4058) {
        res.statusCode = 404;
        res.end("<h1>404 Not Found</h1>");
        return;
      }
    }
    //设置为响应体
    res.end(data);
  });
});

//监听端口, 启动服务
server.listen(3000, () => {
  console.log("服务已经启动, 端口 3000 监听中....");
});
